-
Notifications
You must be signed in to change notification settings - Fork 5.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
table: refactor options for `Table.AddRecord/Table.UpdateRecord/IndexCreate #55125
Conversation
Hi @lcwangchao. Thanks for your PR. PRs from untrusted users cannot be marked as trusted with I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
return c.create(sctx, txn, indexedValue, h, handleRestoreData, false, opt) | ||
} | ||
|
||
func (c *index) create(sctx table.MutateContext, txn kv.Transaction, indexedValue []types.Datum, h kv.Handle, handleRestoreData []types.Datum, untouched bool, opt *table.CreateIdxOpt) (kv.Handle, error) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The private method of create
is used for internal invokes and the caller can pass some internal options to it such as untouched
which is removed from CreateIdxOpt
to avoid public usage.
We also added private method of addRecord
and updateRecord
for the same reason.
816e739
to
edac28e
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #55125 +/- ##
================================================
+ Coverage 74.7109% 75.4365% +0.7256%
================================================
Files 1563 1563
Lines 364517 440353 +75836
================================================
+ Hits 272334 332187 +59853
- Misses 72402 87634 +15232
- Partials 19781 20532 +751
Flags with carried forward coverage won't be shown. Click here to find out more.
|
/retest |
@lcwangchao: Cannot trigger testing until a trusted user reviews the PR and leaves an In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/retest |
@lcwangchao: Cannot trigger testing until a trusted user reviews the PR and leaves an In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cfzjywxk, tangenta The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
What problem does this PR solve?
Issue Number: close #55121
What changed and how does it work?
This PR does some code refactors of the input options for methods
Table.AddRecord/UpdateRecord
andIndex.Create
including:UpdateRecordOption
to give some optional args forTable.UpdateRecord
:We moved argument
ctx
toUpdateRecordOption
for methodUpdateRecord
Now, the method
UpdateRecord
is more likeAddRecord
and we can extend it in the future.CreateIdxOption
to replaceCreateIdxOptFunc
:The option for
Index.Create
is defined as an interface now instead of an function:After this PR,
AddRecordOption
/UpdateRecordOption
/CreateIdxOption
are all interfaces that make it easy for some options to used in all these methods. AndCreateIdxOptFunc
implementsCreateIdxOption
to add new options easily.Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.